package com.yejiali.backend.entity;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @Author:yejiali
 * @Date:2025/5/17-05-17-12:34
 * @Decsription:com.yejiali.backend.entity
 * @Version:1.0
 */
@Data
@Document(collection = "medical_cases")
public class MedicalCase {
    @Id
    private String id; // MongoDB 自动生成的主键

    @Field("病人id")
    private Long patientId; // 病人唯一标识

    @Field("审核状态")
    private String auditStatus; // 待审核、已初审核、初审驳回，二审驳回

    @Field("上传时间")
    private Date uploadTime; // ISO 8601 格式时间

    @Field("病例状态")
    private String caseStatus; // 进行中、已结案、已归档

    @Field("病例附件")
    private List<Attachment> attachments; // 附件列表

    @Field("既往病史")
    private String medicalHistory; // 文本描述

    @Field("疾病科室")
    private String department; // 血液科、眼科、内科等

    @Field("检测报告结果")
    private Map<String, Object> testResults; // 动态检测数据

    @Field("病情描述")
    private String symptomDescription; // 文本描述

    @Field("诊断结果")
    private String diagnosis; // 文本诊断结论

    // 嵌套类：附件信息
    @Data
    public static class Attachment {
        @Field("文件名")
        private String fileName;

        @Field("上传时间")
        private Date uploadTime;

        @Field("URL")
        private String url;

    }
}
